package com.ysh.spring.exp.controller.advice;

import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 袁胜虎 on 2022/8/30 22:00
 */
//@ControllerAdvice//controller的增强
//@ResponseBody
@RestControllerAdvice
public class MyExceptionHandler {
    /**
     *
     * @param e 当前发生的异常
     * @return 当捕获到异常的时候返回什么结果给客户端
     */
    @ExceptionHandler(Exception.class)//当前方法是一个异常的处理器,并且专门用于处理对应的参数类型的异常
    public String processException(Exception e) {
        e.printStackTrace();
        return "sunliang jin tian fa sheng yi chang le";
    }

    @ExceptionHandler(IndexOutOfBoundsException.class)//当前方法是一个异常的处理器,并且专门用于处理对应的参数类型的异常
    public String processException(IndexOutOfBoundsException e) {
        e.printStackTrace();
        return "fa sheng yue jie le ";
    }

    @ExceptionHandler(NullPointerException.class)//当前方法是一个异常的处理器,并且专门用于处理对应的参数类型的异常
    public String processException(NullPointerException e) {
        e.printStackTrace();
        return "fa sheng yue nulllllllllllllllll ";
    }

    @ExceptionHandler(ArithmeticException.class)//当前方法是一个异常的处理器,并且专门用于处理对应的参数类型的异常
    public String processException(ArithmeticException e) {
        e.printStackTrace();
        return "fa sheng yue 000000000000000000000000000000 ";
    }
}
